 #define _CRT_SECURE_NO_WARNINGS 1

//#include <iostream>
//#include <string>
//using namespace std;
//
//int main() {
//
//    int n = 0;
//    while (cin >> n)
//    {
//        string name;
//        cin.get();
//        for (int i = 0; i < n; ++i)
//        {
//            getline(cin, name);
//            if (i != n - 1)
//            {
//                if (name.find(',') != -1 || name.find(' ') != -1)
//                    cout << '\"' << name << '\"' << ',' << ' ';
//                else
//                    cout << name << ',' << ' ';
//            }
//            else
//            {
//                if (name.find(',') != -1 || name.find(' ') != -1)
//                    cout << '\"' << name << '\"' << endl;
//                else
//                    cout << name << endl;
//            }
//        }
//    }
//    return 0;
//}

#include <iostream>
#include <vector>
using namespace std;

int main() {

    int n = 0;
    long long arr[91];
    while (cin >> n)
    {
        arr[0] = 1;
        arr[1] = 2;
        for (int i = 2; i < 91; ++i)
            arr[i] = arr[i - 1] + arr[i - 2];

        cout << arr[n - 1] << endl;
    }
    return 0;
}
